package com.jiazhong.继承.Extend02;

public class Sub extends Base{
    //输入Ctrl+h可以看到继承关系
    public Sub(String name,int age){
        //1.老师要调用父类的无参构造器，如下或者什么都不屑，默认就是调用super（）
        //super（）;弗雷德无参构造器
        //2.老师要调用弗雷德Base(String name)构造器
        //super（"hsp"）;
        //3.老师要调用父类的Base（String name,int age）构造器
        super("king",20);
        //细节：super在使用时，必须放在构造器第一行
        //细节：super（）和this（）都只能放在构造器第一行，因此把这个方法不能共存在一个构造器
        //this（）不能在使用了
        System.out.println("子类Sub（String name，int age）构造器被调用");
    }
    public Sub(){//无参构造器
        //super();//默认调用父类的无参构造器
        super("smith",10);
        System.out.println("子类Sub（）构造器被调用...");
    }

    public Sub(String name) {
        super("tom",10);
        System.out.println("子类Sun（）构造器被调用");
    }

    public void sayOk(){//子类方法
        //非私有的属性和方法为可以在子类直接访问
        //但是私有属性和方法不能在子类直接访问
        System.out.println(n1+""+n2+""+n3);
        test100();
        test200();
        test300();
        //test400();错误
        //要通过父类提供公共的方法去访问
        System.out.println("n4="+getN4());
        callTest400();
    }
}
